home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / guile-ii.src / guile-ii / guile-src / libguile / eval.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-16  |  5.5 KB  |  165 lines

  1. /* classes: h_files */
  2.  
  3. #ifndef EVALH
  4. #define EVALH
  5. /*    Copyright (C) 1995 Free Software Foundation, Inc.
  6.  * 
  7.  * This program is free software; you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License as published by
  9.  * the Free Software Foundation; either version 2, or (at your option)
  10.  * any later version.
  11.  * 
  12.  * This program is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  * GNU General Public License for more details.
  16.  * 
  17.  * You should have received a copy of the GNU General Public License
  18.  * along with this software; see the file COPYING.  If not, write to
  19.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  *
  21.  * As a special exception, the Free Software Foundation gives permission
  22.  * for additional uses of the text contained in its release of GUILE.
  23.  *
  24.  * The exception is that, if you link the GUILE library with other files
  25.  * to produce an executable, this does not by itself cause the
  26.  * resulting executable to be covered by the GNU General Public License.
  27.  * Your use of that executable is in no way restricted on account of
  28.  * linking the GUILE library code into it.
  29.  *
  30.  * This exception does not however invalidate any other reasons why
  31.  * the executable file might be covered by the GNU General Public License.
  32.  *
  33.  * This exception applies only to the code released by the
  34.  * Free Software Foundation under the name GUILE.  If you copy
  35.  * code from other Free Software Foundation releases into a copy of
  36.  * GUILE, as the General Public License permits, the exception does
  37.  * not apply to the code that you add in this way.  To avoid misleading
  38.  * anyone as to the status of such modified files, you must delete
  39.  * this exception notice from them.
  40.  *
  41.  * If you write modifications of your own for GUILE, it is your choice
  42.  * whether to permit this exception to apply to your modifications.
  43.  * If you do not wish that, delete this exception notice.  
  44.  */
  45.  
  46.  
  47. #include "__scm.h"
  48.  
  49.  
  50.  
  51. extern SCM scm_i_dot;
  52. extern SCM scm_i_quote;
  53. extern SCM scm_i_quasiquote;
  54. extern SCM scm_i_lambda;
  55. extern SCM scm_i_let;
  56. extern SCM scm_i_arrow;
  57. extern SCM scm_i_else;
  58. extern SCM scm_i_unquote;
  59. extern SCM scm_i_uq_splicing;
  60. extern SCM scm_i_apply;
  61. extern SCM scm_top_level_lookup_thunk_var;
  62.  
  63. #ifdef __STDC__
  64. extern SCM * scm_ilookup (SCM iloc, SCM env);
  65. extern SCM * scm_lookupcar (SCM vloc, SCM genv);
  66. extern SCM scm_eval_args (SCM l, SCM env);
  67. extern SCM scm_m_quote (SCM xorig, SCM env);
  68. extern SCM scm_m_begin (SCM xorig, SCM env);
  69. extern SCM scm_m_if (SCM xorig, SCM env);
  70. extern SCM scm_m_set (SCM xorig, SCM env);
  71. extern SCM scm_m_vref (SCM xorig, SCM env);
  72. extern SCM scm_m_vset (SCM xorig, SCM env);
  73. extern SCM scm_m_and (SCM xorig, SCM env);
  74. extern SCM scm_m_or (SCM xorig, SCM env);
  75. extern SCM scm_m_case (SCM xorig, SCM env);
  76. extern SCM scm_m_cond (SCM xorig, SCM env);
  77. extern SCM scm_m_lambda (SCM xorig, SCM env);
  78. extern SCM scm_m_letstar (SCM xorig, SCM env);
  79. extern SCM scm_m_do (SCM xorig, SCM env);
  80. extern SCM scm_m_quasiquote (SCM xorig, SCM env);
  81. extern SCM scm_m_delay (SCM xorig, SCM env);
  82. extern SCM scm_m_define (SCM x, SCM env);
  83. extern SCM scm_m_letrec (SCM xorig, SCM env);
  84. extern SCM scm_m_let (SCM xorig, SCM env);
  85. extern SCM scm_m_apply (SCM xorig, SCM env);
  86. extern SCM scm_m_cont (SCM xorig, SCM env);
  87. extern int scm_badargsp (SCM formals, SCM args);
  88. extern SCM scm_ceval (SCM x, SCM env);
  89. extern SCM scm_procedure_documentation (SCM proc);
  90. extern SCM scm_nconc2last (SCM lst);
  91. extern SCM scm_apply (SCM proc, SCM arg1, SCM args);
  92. extern SCM scm_map (SCM proc, SCM arg1, SCM args);
  93. extern SCM scm_for_each (SCM proc, SCM arg1, SCM args);
  94. extern SCM scm_closure (SCM code, SCM env);
  95. extern SCM scm_makprom (SCM code);
  96. extern SCM scm_makacro (SCM code);
  97. extern SCM scm_makmacro (SCM code);
  98. extern SCM scm_makmmacro (SCM code);
  99. extern SCM scm_force (SCM x);
  100. extern SCM scm_copy_tree (SCM obj);
  101. extern SCM scm_eval_3 (SCM obj, int copyp, SCM env);
  102. extern SCM scm_top_level_env (SCM thunk);
  103. extern SCM scm_eval2 (SCM obj, SCM env_thunk);
  104. extern SCM scm_eval (SCM obj);
  105. extern SCM scm_eval_x (SCM obj);
  106. extern SCM scm_definedp (SCM x, SCM env);
  107. extern SCM scm_make_synt (char *name, SCM (*macroizer) (), SCM (*fcn) ());
  108. extern void scm_init_eval (void);
  109.  
  110. #else /* STDC */
  111. extern SCM * scm_ilookup ();
  112. extern SCM * scm_lookupcar ();
  113. extern SCM scm_eval_args ();
  114. extern SCM scm_m_quote ();
  115. extern SCM scm_m_begin ();
  116. extern SCM scm_m_if ();
  117. extern SCM scm_m_set ();
  118. extern SCM scm_m_vref ();
  119. extern SCM scm_m_vset ();
  120. extern SCM scm_m_and ();
  121. extern SCM scm_m_or ();
  122. extern SCM scm_m_case ();
  123. extern SCM scm_m_cond ();
  124. extern SCM scm_m_lambda ();
  125. extern SCM scm_m_letstar ();
  126. extern SCM scm_m_do ();
  127. extern SCM scm_m_quasiquote ();
  128. extern SCM scm_m_delay ();
  129. extern SCM scm_m_define ();
  130. extern SCM scm_m_letrec ();
  131. extern SCM scm_m_let ();
  132. extern SCM scm_m_apply ();
  133. extern SCM scm_m_cont ();
  134. extern int scm_badargsp ();
  135. extern SCM scm_ceval ();
  136. extern SCM scm_procedure_documentation ();
  137. extern SCM scm_nconc2last ();
  138. extern SCM scm_apply ();
  139. extern SCM scm_map ();
  140. extern SCM scm_for_each ();
  141. extern SCM scm_closure ();
  142. extern SCM scm_makprom ();
  143. extern SCM scm_makacro ();
  144. extern SCM scm_makmacro ();
  145. extern SCM scm_makmmacro ();
  146. extern SCM scm_force ();
  147. extern SCM scm_copy_tree ();
  148. extern SCM scm_eval_3 ();
  149. extern SCM scm_top_level_env ();
  150. extern SCM scm_eval2 ();
  151. extern SCM scm_eval ();
  152. extern SCM scm_eval_x ();
  153. extern SCM scm_definedp ();
  154. extern SCM scm_make_synt ();
  155. extern void scm_init_eval ();
  156.  
  157. #endif /* STDC */
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. #endif  /* EVALH */
  165.